{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: tensorflow-gpu==2.2.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (2.2.0)\n",
      "Requirement already satisfied: tensorboard<2.3.0,>=2.2.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (2.2.2)\n",
      "Requirement already satisfied: keras-preprocessing>=1.1.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (1.1.2)\n",
      "Requirement already satisfied: wheel>=0.26; python_version >= \"3\" in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (0.34.2)\n",
      "Requirement already satisfied: h5py<2.11.0,>=2.10.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (2.10.0)\n",
      "Requirement already satisfied: astunparse==1.6.3 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (1.6.3)\n",
      "Requirement already satisfied: six>=1.12.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (1.15.0)\n",
      "Requirement already satisfied: google-pasta>=0.1.8 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (0.2.0)\n",
      "Requirement already satisfied: numpy<2.0,>=1.16.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (1.18.5)\n",
      "Requirement already satisfied: wrapt>=1.11.1 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (1.12.1)\n",
      "Requirement already satisfied: scipy==1.4.1; python_version >= \"3\" in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (1.4.1)\n",
      "Requirement already satisfied: opt-einsum>=2.3.2 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (3.3.0)\n",
      "Requirement already satisfied: protobuf>=3.8.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (3.12.2)\n",
      "Requirement already satisfied: termcolor>=1.1.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (1.1.0)\n",
      "Requirement already satisfied: absl-py>=0.7.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (0.9.0)\n",
      "Requirement already satisfied: grpcio>=1.8.6 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (1.30.0)\n",
      "Requirement already satisfied: gast==0.3.3 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (0.3.3)\n",
      "Requirement already satisfied: tensorflow-estimator<2.3.0,>=2.2.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorflow-gpu==2.2.0) (2.2.0)\n",
      "Requirement already satisfied: markdown>=2.6.8 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (3.2.2)\n",
      "Requirement already satisfied: google-auth<2,>=1.6.3 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (1.20.0)\n",
      "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (1.7.0)\n",
      "Requirement already satisfied: werkzeug>=0.11.15 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (1.0.1)\n",
      "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (0.4.1)\n",
      "Requirement already satisfied: setuptools>=41.0.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (49.2.0.post20200714)\n",
      "Requirement already satisfied: requests<3,>=2.21.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (2.24.0)\n",
      "Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (1.7.0)\n",
      "Requirement already satisfied: pyasn1-modules>=0.2.1 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (0.2.8)\n",
      "Requirement already satisfied: cachetools<5.0,>=2.0.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (4.1.1)\n",
      "Requirement already satisfied: rsa<5,>=3.1.4; python_version >= \"3.5\" in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (4.6)\n",
      "Requirement already satisfied: requests-oauthlib>=0.7.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (1.3.0)\n",
      "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (1.25.10)\n",
      "Requirement already satisfied: idna<3,>=2.5 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (2.10)\n",
      "Requirement already satisfied: chardet<4,>=3.0.2 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (3.0.4)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (2020.6.20)\n",
      "Requirement already satisfied: zipp>=0.5 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from importlib-metadata; python_version < \"3.8\"->markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (3.1.0)\n",
      "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (0.4.8)\n",
      "Requirement already satisfied: oauthlib>=3.0.0 in /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow-gpu==2.2.0) (3.1.0)\n"
     ]
    }
   ],
   "source": [
    "## tensorflow-gpu==2.3.0 bug to load_weight after call inference\n",
    "!pip install tensorflow-gpu==2.2.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import yaml\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import tensorflow as tf\n",
    "\n",
    "from tensorflow_tts.inference import AutoConfig\n",
    "from tensorflow_tts.inference import TFAutoModel"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "config = AutoConfig.from_pretrained(\"../examples/multiband_melgan/conf/multiband_melgan.v1.yaml\")\n",
    "mb_melgan = TFAutoModel.from_pretrained(\n",
    "    config=config, \n",
    "    pretrained_path=None, # \"../examples/fastspeech2/checkpoints/model-150000.h5\",\n",
    "    is_build=False, # don't build model if you want to save it to pb. (TF related bug)\n",
    "    name=\"mb_melgan\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "fake_mels = tf.random.uniform(shape=[4, 256, 80], dtype=tf.float32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "audios = mb_melgan.inference(fake_mels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "mb_melgan.load_weights(\"../examples/multiband_melgan/checkpoints/mb_melgan.v1-940K.h5\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Save to Pb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:Skipping full serialization of Keras layer <tensorflow_tts.models.mb_melgan.TFMBMelGANGenerator object at 0x7fcd99f163d0>, because it is not built.\n",
      "WARNING:tensorflow:Skipping full serialization of Keras layer <tensorflow_tts.models.mb_melgan.TFPQMF object at 0x7fcd99c16710>, because it is not built.\n",
      "WARNING:tensorflow:From /home/lap13548/anaconda3/envs/tensorflow-tts/lib/python3.7/site-packages/tensorflow/python/ops/resource_variable_ops.py:1817: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "If using Keras pass *_constraint arguments to layers.\n",
      "INFO:tensorflow:Assets written to: ./mb_melgan/assets\n"
     ]
    }
   ],
   "source": [
    "tf.saved_model.save(mb_melgan, \"./mb_melgan\", signatures=mb_melgan.inference)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load and Inference"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "mb_melgan = tf.saved_model.load(\"./mb_melgan\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "mels = np.load(\"../dump/valid/norm-feats/LJ001-0009-norm-feats.npy\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "audios = mb_melgan.inference(mels[None, ...])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f5fe8276190>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(audios[0, :, 0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
